Well-Founded Recursion over Contextual Objects
نویسندگان
چکیده
We present a core programming language that supports writing well-founded structurally recursive functions using simultaneous pattern matching on contextual LF objects and contexts. The main technical tool is a coverage checking algorithm that also generates valid recursive calls. To establish consistency, we define a call-by-value small-step semantics and prove that every well-typed program terminates using a reducibility semantics. Based on the presented methodology we have implemented a totality checker as part of the programming and proof environment Beluga where it can be used to establish that a total Beluga program corresponds to a proof. 1998 ACM Subject Classification D.3.1[Programming Languages]: Formal Definitions and Languages. F.3.1[Logics and Meaning of Programs]: Specifying and Verifying and Reasoning about Programs
منابع مشابه
Structural Recursion over Contextual Objects
A core programming language is presented that allows structural recursion over open LF objects and contexts. The main technical tool is a coverage checking algorithm that also generates valid recursive calls. Termination of call-byvalue reduction is proven using a reducibility semantics. This establishes consistency and allows the implementation of proofs about LF specifications as well-founded...
متن کاملRanked Structures and Arithmetic Transfinite Recursion
ATR0 is the natural subsystem of second-order arithmetic in which one can develop a decent theory of ordinals. We investigate classes of structures which are in a sense the “well-founded part” of a larger, simpler class, for example, superatomic Boolean algebras (within the class of all Boolean algebras). The other classes we study are: well-founded trees, reduced Abelian p-groups, and countabl...
متن کاملConstructing Recursion Operators in Intuitionistic Type Theory
Martin-Löf’s Intuitionistic Theory of Types is becoming popular for formal reasoning about computer programs. To handle recursion schemes other than primitive recursion, a theory of well-founded relations is presented. Using primitive recursion over higher types, induction and recursion are formally derived for a large class of well-founded relations. Included are < on natural numbers, and rela...
متن کاملExtracting Recursion Operators in Nuprl’s Type Theory
In this paper we describe the extraction of “efficient” recursion schemes from proofs of well-founded induction principles. This is part of a larger methodology; when these well-founded induction principles are used in proofs, the structure of the program extracted from the proof is determined by the recursion scheme inhabiting the induction principle. Our development is based on Paulson’s pape...
متن کاملWell-founded coalgebras, revisited
Theoretical models of recursion schemes have been well studied under the names well-founded coalgebras, recursive coalgebras, corecursive algebras, and Elgot algebras. Much of this work focuses on conditions ensuring unique or canonical solutions, e.g. when the coalgebra is well-founded. If the coalgebra is not well-founded, then there can be multiple solutions. The standard semantics of recurs...
متن کامل